package com.ctsi.system.service;

import cn.hutool.core.lang.Dict;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ctsi.common.util.Search;
import com.ctsi.system.entity.App;

import java.util.List;

/**
 * <p>
 * 系统应用表 服务类
 * </p>
 *
 * @author wang xiao xiang
 */
public interface IAppService extends IService<App> {

	/**
	 * 分页业务方法
	 *
	 * @param search 　搜索参数
	 * @return IPage
	 */
	IPage<App> listPage(Search search);

	/**
	 * 获取用户应用相关信息
	 *
	 * @param userId 用户ID
	 * @return 用户拥有的应用信息，格式：[{"code":"system","name":"系统应用","active":true}]
	 */
	List<Dict> getLoginApps(Long userId, Integer userType);

	/**
	 * 设置默认值
	 *
	 * @param app 应用信息
	 * @return boolean
	 */
	boolean setDefault(App app);
}
